People are increasingly relying on more than one computing device. Accordingly, automatic synchronization of photos, videos, applications, data, and games across computing devices owned by a single user is becoming more prevalent. Meanwhile, computing devices are increasingly incorporating trusted computing hardware. For example, a Trusted Platform Module (TPM) can be incorporated in a computing device to prevent firmware rollback and to store and attest a user's data encryption keys.
Unfortunately, these two trends may be at odds. Conventional trusted computing hardware, such as a traditional TPM, does not provide good support for cross-device functionality. By design, such TPMs offer a hardware root-of-trust bound to a single, standalone device. TPMs come equipped with encryption keys whose private parts never leave the TPM hardware chip, reducing the possibility those keys may be compromised. The tension between single-device TPM guarantees and the need for cross-device sharing makes it difficult for trusted applications to cope with multi-device scenarios. Thus, current TPMs may be ill-suited for cross-device scenarios in trusted mobile applications because these TPMs hinder seamless sharing of data across multiple computing devices.
Moreover, traditional TPMs are often slow and inefficient. Minimum performance requirements for TPMs have not been set as part of the TPM specification (e.g., version 1.2 or version 2.0) available from the Trusted Computing Group (TCG). Performance handicaps of conventional TPMs typically limit use of such TPMs to scenarios that do not require fast or frequent operations. Performance of TPMs can be enhanced by building such TPMs with faster internal parts; however, inclusion of such parts increase the cost of the TPMs.